<?php

include_once "../../models/core.php";
include_once "../../models/auth.php";
include_once "../../controllers/user/avatarClass.php";

session_start(); // 我们下面的 $auth->verify($uid, $token) 函数的调用是需要开启 Session 的哦

$uid = $_POST["uid"]; // 更新头像的 form 表单是一个 post 请求
$token = $_POST["token"];
$avatarPath = $_POST["avatarPath"];
// $fileName = $_POST["fileName"];
// $filePath = "../../static/img/user/person/" . $fileName;

// echo "<script>alert('$uid $token $avatarPath $filePath');</script>";
// echo "<script>console.log('$filePath');</script>"; // debug ==> fileName = ""


$files = $_FILES["file"]; // 下面函数的 $_FILES["file"] 就都可以用 $files 替换了

$auth = new Auth();

if($auth->verify($uid, $token) == true){
    $avatar = new Avatar($conn);
    $result = $avatar->uploadAvatar($uid, $files); // 身份验证成功的话，就可以上传头像
    
    // 获取头像图片路径的调用有一个专门的 .php 文件
    // $avatarPath = $avatar->getAvatar($uid);
    // json_encode(array("status" => true, "avatar" => $avatarPath));
    // echo json_encode(array("status" => true, "avatar" => $avatarPath));

    // 下面的跳转拿到这里也是很好的哦，因为可以传递 uid 和 token 了
    if($result["status"] == true){
        // 1. 版本 1
        // 上面的 uploadAvatar 函数是吧头像的路径也给返回了的哦
        echo "<script>alert('头像图片提交成功!!!'); window.location.href='../../views/user/person.html?uid={$uid}&token={$token}&avatarPath={$result["avatarPath"]}'</script>";

        // 2. 版本 2 
        // 因为前端做了文件压缩，并且是用 axios.post 上传压缩后的数据的。所以我们后台这里可以是用 json 数据返回了
        // 图片压缩上传的功能先不搞了，前端的 axios.post 有一点问题
        // echo json_encode(array("status" => true, "avatarPath" => $result["avatarPath"]));
    }else if($result["status"] == false){
        // 上面的 uploadAvatar 函数是吧头像的路径也给返回了的哦
        echo "<script>alert('文件已经存在!!!'); window.location.href='../../views/user/person.html?uid={$uid}&token={$token}&avatarPath={$result["avatarPath"]}'</script>";

        // 图片压缩上传的功能先不搞了，前端的 axios.post 有一点问题
        // echo json_encode(array("status" => false, "avatarPath" => $avatarPath)); // 失败的话，还是用原来的头像
    }
}else{
    // 获取头像图片路径的调用有一个专门的 .php 文件
    // $avatarPath = "";
    // json_encode(array("status" => false, "avatar" => $avatarPath));
    // echo json_encode(array("status" => false, "avatar" => $avatarPath));

    // 对比前后端的 session 是否一致
    // echo "<script><br></script>";
    // echo $token;
    // echo "<script><br></script>";

    // echo $_SESSION[$uid];
    // echo $_SESSION["u{$uid}"];

    // echo "<script>alert('身份验证失败！！！');</script>";
    echo "<script>window.location.href = '../../views/office/login.html'</script>"; // 失败的话肯定是得重新登陆的哦

    // 图片压缩上传的功能先不搞了，前端的 axios.post 有一点问题
    // echo json_encode(array("status" => false, "avatarPath" => $avatarPath)); // 失败的话，还是用原来的头像
}

